package com.hb.core.pojo.project.evaluation.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hb.core.pojo.OrganizeInfo;
import com.hb.core.pojo.project.evaluation.entity.EvaluationCommittee;
import com.hb.core.pojo.project.evaluation.entity.EvaluationCommitteeAvoidOrg;
import com.hb.core.pojo.project.evaluation.entity.EvaluationCommitteeMembers;
import com.hb.core.pojo.project.section.entity.BidSection;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author ljs
 * @date 2022-1-17 11:35:08
 * @description 评标委员会信息DTO
 */
@Getter
@Setter
public class EvaluationCommitteeDTO extends EvaluationCommittee {

    @ApiModelProperty(value = "标段集合")
    private List<BidSection> sectionList;

    @ApiModelProperty(value = "标段集合")
    private BidSection bidSection;

    @ApiModelProperty(value = "专家集合")
    private List<EvaluationCommitteeMembersDTO> expertList;

    @ApiModelProperty(value = "随机抽取专家集合")
    private List<EvaluationCommitteeMembersDTO> randomExpertList;

    @ApiModelProperty(value = "招标人代表集合")
    private List<EvaluationCommitteeMembers> bidInviterList;

    @ApiModelProperty(value = "标段Id")
    private Long sectionId;

    @ApiModelProperty(value = "项目Id")
    private Long projectId;

    @ApiModelProperty(value = "回避单位集合")
    private List<EvaluationCommitteeAvoidOrg> avoidOrgList;

    @ApiModelProperty(value = "抽取专家个数")
    private Integer ExtractingExpert;

    @ApiModelProperty(value = "是否需要脱敏（0，不需要，1，需要）")
    private Integer desensitization;

    @ApiModelProperty(value = "代理机构信息-给专家发送短信时使用")
    private OrganizeInfo agencyOrganizeInfo;

    @ApiModelProperty(value = "待删除的专家（重新指定时需要）")
    private List<Long> deleteExpertIdList;

    @ApiModelProperty(value = "补充抽取的专家住专业")
    private String majorCode;

    @ApiModelProperty(value = "组长id")
    private Long leaderId;

    @ApiModelProperty(value = "项目类型名称")
    private String bidWayName;

    @ApiModelProperty(value = "项目编号")
    private String projectCode;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "开标时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime openBidTime;

    @ApiModelProperty(value = "采购单位(招标单位)")
    private OrganizeInfo biddingOrganizeInfo;
}
